When and How to Use AWS Graviton

Announced in 2018, AWS Graviton is a line of processors specifically developed for cloud applications that run at scale. Currently the largest hyper-scaler in the world, AWS continues to develop and launch new services for its customers. This includes introducing EC2-A1 instance-supporting processors for client workloads that use Azure DevOps Services (ARM) instructions.

This led AWS to release Graviton2, giving customers as sizable increase in performance at a better price—40% lower than comparable x86-based instances. Graviton2 also delivers a broad range of workloads, including high-performance computing, application servers, micro-services, electronically designed automation services, in-memory caches, open-source databases, and gaming. This has caught the attention of high-profile industry names, as Epic Games, Intuit, Lyft, and Formula1 all run AWS Graviton-based production instances.

Boasting the latest generation of processing technology, the release of AWS Graviton3 has seen the processors outperform Graviton2 by up to 25% in computing performance. This includes twice as much in floating-point performance and double the speed for cryptographic workloads. In addition, Graviton3 boasts three times the performance for machine learning processing, including support for the 16-bit floating point format (bfloat16).

Getting the most from AWS Graviton

The key purpose for creating AWS Graviton has been providing better economy and greater performance for cloud workloads running in Amazon EC2. While a better price point translates to reduced costs for solutions, as cloud computing needs of organizations grow, it becomes a challenge to sustain benefits, profitability, and rapid growth. AWS Graviton changes this by optimizing cost and performance by employing the following features:

  • Virtual central processing units (vCPUs)—also known as virtual processors—act as separate physical cores.
    • This enhanced isolation between vCPUs eliminates simultaneous multi-threading (SMT) by avoiding the sharing of resources, except at last level caches or built-in memory systems.
    • SMT allows the same cores to work on parallel processes.
    • SMT has some disadvantages: It introduces computing overhead while shuffling between tasks, leading to performance variance. The tasks might also be bottlenecked by each other’s workload.
    • However, the virtual isolation and resulting elimination of SMT help mitigate these problems, thereby resulting in better performance.
  • Increased sizes for L1 and L2 caches for each vCPU.
    • This means that a more significant part of the processing occurs in the cache without going to memory.
  • Cores are integrated into a mesh boasting an impressive ~2 TB of bisection bandwidth.
    • This enables applications to switch between cores rapidly and share data intrinsically.
  • No non-uniform memory access (NUMA) concerns.
    • Each core experiences similar latencies to the other and the dynamic random-access memory (DRAM).

These advantages work together to minimize application service costs and produce an ideal price-performance ratio.

AWS Graviton instances can be tailored to fit their purpose, as you’re given the freedom to select the right combination of resources for your apps. Informed, data-driven decision-making and different combinations of CPU, memory, storage, and networking help optimize the resources needed for your applications.

General purpose

This instance features M6g and T4g processors for a wide variety of workloads. It offers stability and a balance between computation (BOC), memory, and networking. Applications, like code repositories and web servers that use these resources in an equal distribution, work best with these instances.

Use case
Microservices that require balanced computing, memory, and networking resources can benefit from general-purpose instances, with an example being an on-demand television and film streaming service. A general-purpose instance allows for easy and cost-effective scaling as a subscriber base grows.

Compute optimized

The compute-optimized instance featuring C7g and C6g processors is ideal for apps that rely on high-performance computation. Example use cases include both industry and academia applications. Batch-oriented workloads, high-speed web server transactions, media conversion, machine learning inference engines, gaming servers, scientific modeling, and other computation-intensive apps are all well-suited for this instance.

Use case
A gaming company may choose to opt for compute-optimized instances, as they require graphic acceleration, high-speed network processing (owing to latency-sensitive workloads), and accelerated game logic algorithms. While, coupled with online multiplayer scenarios, other instances can rack up huge bills, games running on these instances keep online gameplay smooth for players and cost-effective for the company.

Memory optimized

Memory-optimized instances featuring the R6g and X2gd processors are ideal for improving memory-intensive performance “workloads” that process massive amounts of information in memory. Examples include open-source databases such as MySQL, SAP, NoSQL, MariaDB, MongoDB, and Redis.

Use case
Any organization with memory-intensive workloads, like SQL, SAP, and NoSQL databases, can benefit from this instance, with an example being a fast-moving consumer goods (FMCG) company. As FMCGs keep track of goods in its global supply chain via massive databases, developer teams need to build and maintain several applications to create customized reports for actionable insights and quick decision-making. Memory-optimized instances can help curtail costs by providing an architecture that supports such large-scale operations without bloating costs beyond control.

Accelerated computing

Featuring the powerful G5g processor, accelerated computing enables significantly faster execution of processes. Use cases include image processing, high volume and complex mathematical computations, and data pattern matching.

Use case
Potential users include organizations working in the field of robotics, Android™ game streaming, artificial intelligence, or relying on machine learning algorithms. Research groups working on autonomous cars would also benefit from real-time and complex logic processing that keeps account of millions of variables.

Coupling an ever-changing environment with the sheer level of processing creates a major challenge for users. Algorithms need to constantly learn using a meshed integrated network that helps act as a learning platform for all connected vehicles. In such scenarios, accelerated computing instances can help deliver performance and scalability while optimizing cost.

Storage optimized

Storage optimized instances feature the Im4gn and Is4gen processors. These instances can support high frequency read and write operations for locally stored databases (of huge volumes). SQL and NoSQL databases benefit from this kind of architecture. Search engines, analytics engines, and streaming services are good candidates here.

Use cases
An academic search engine that requires low latency search queries can benefit from storage optimized, as these databases are typically comprised of terabytes of information with indexed records. With a high number of parallel searchers in the form of researchers and students, a storage-optimized instance would be able to support numerous parallel read and write operations while keeping costs low.

Choosing the appropriate AWS Graviton instance

AWS Graviton extends support for a plethora of managed AWS services and offers the pricing and performance advantages of AWS Graviton processors. This includes Amazon Relational Database Service (RDS), Amazon Aurora, Amazon Elasticsearch Service, Amazon Memory DB for Redis, Amazon EMR, Amazon OpenSearch, AWS Fargate, and AWS Lambda.

Choosing the right instance for your particular application requires cloud architects to assess computational and storage needs first. This can be achieved through A/B testing—analyzing the same application on different instances and then measuring the cost incurred and performance of similar operations in different instances. This helps to gain confidence and is especially important for applications that you’ll scale vastly. AWS Graviton demonstrates its superiority over competitors thanks to its reduced cost, easy scalability, enhanced security, reduced latency, and high availability.

Exceptional performance and wide usability

AWS continues to improve its range of AWS Graviton processors by providing the best price-performance ratio. This is due to technological innovations which include physical core separation, increased cache size for vCPUs, meshed cores, and removal of net unrealized appreciation (NUA) concerns.

The variety offered by AWS Graviton is exceptional, as it allows you to host streaming services on general-purpose clusters, gaming applications on compute-optimized clusters, and FMCG database applications on memory-optimized clusters. You can leverage accelerated computing clusters with machine learning algorithms for robotic industrial applications, and academic search engines can use storage-optimized instances. Many well-known companies like Ansys, Cloudfix, Ably, and the Discovery Channel leverage AWS Graviton because of its exceptional performance and wide usability. Whatever the use case, AWS Graviton delivers.



Source link